Wireless networks are employed for communication between various devices, such as cell phones and computers. Digitally modulated signals such as binary phase shift keyed and quadrature phase shift keyed signals are transmitted between nodes of the network. Examples include satellite communications networks where terminals transmit through satellite transponders, terrestrial systems where terminals transmit through repeating towers, and indoor local area networks where terminals transmit through central repeating elements.
Computer elements connected to these networks provide a variety of user services. Examples include telephone traffic with digital voice encoding, video conferencing, local and wide area computer network connectivity, and internet service. In such applications, it is desirable to maximize the network traffic capacity in a given bandwidth in the presence of interference and noise. To that end, a variety of modulation and coding schemes exist for efficiently partitioning the network elements into communication channels.
For example, frequency domain multiple access (FDMA) schemes assign each network terminal to a separate, non-overlapping frequency band. Time domain multiple access (TDMA) schemes assign each terminal to a separate non-overlapping time slot. Code division multiple access (CDMA) schemes assign each terminal to a separate modulating waveform so that the cross correlation between each terminal is negligible. Orthogonal frequency division multiplexing (OFDM) schemes break up a single wideband channel into many narrowband channels. Each channel transmits a small piece of information on a different subcarrier that together with the other channels comprises a larger block of information for a single user. The bands are selected so adjacent bands do not interfere with each other.
New, emerging wireless networking systems based on OFDM, networking standard 802.11, and multicarrier code division multiple access (MC-CDMA) are increasing in popularity. As such networks increase the potential for performance degradation due to multiuser interference (sometimes referred to as multiaccess interference) when the systems are operating simultaneously in the same frequency band with similar modulation and spreading methods.
More specifically, a real world multiuser system includes a number of independent users simultaneously transmitting signals. Each of these transmissions are associated with real-time problems of multipath and multiuser interference that manifest in each of the received signals. Multipath occurs when a signal proceeds to its intended receiver along not one but many paths so that the receiver encounters echoes having different and randomly varying delays and amplitudes.
A multiuser detection (MUD) receiver can be used to jointly demodulate co-channel interfering digital signals. In general, MUD refers to the detection of data in non-orthogonal multiplexes. MUD processing increases the number of information bits available per chip or signaling dimension for interference limited systems. In some cases, the multiuser interference can be so severe that the signals are not detectable by conventional receiver processing techniques. Known receiver processing techniques include, for example, the use of: matched filters, without MUD; iterative TurboMUD, with either full-complexity (based on maximum likelihood principle) or reduced complexity (minimum mean square error, decorrelator, parallel interference cancellation, serial interference cancellation, and tree-pruned MUD); and partitioned MUD and error correction coding (ECC) techniques, where the MUD component can be full or reduced complexity.
The common problem associated with these receiver processing procedures is that they cannot be run in real-time and simultaneously operate at acceptable performance levels. For example, matched filters and partitioned MUD/ECC do not achieve acceptable bit error rate performance levels, particularly for highly loaded systems. In addition, some MUD/ECC solutions fail to address the exceptionally high complexity within the error correction decoding portion. TurboMUD, both full and reduced complexity approaches, encounters complexity increases as the number of iterations increases. In particular, single user decoders typically implement a BCJR algorithm, which is very computationally intensive.
What is needed, therefore, are techniques that reduce the complexity of MUD processing without negatively impacting real-time or future receiver performance.